/**
 * 
 */
package fr.upmc.alasca.centreCalcul.interne.machinePhysique.capteurCoeurs.ports;

import fr.upmc.alasca.centreCalcul.interne.machinePhysique.MachinePhysique;
import fr.upmc.alasca.centreCalcul.interne.machinePhysique.capteurCoeurs.CapteurCoeurs;
import fr.upmc.alasca.centreCalcul.interne.machinePhysique.capteurCoeurs.interfaces.CapteurCoeursControleurAbonnementI;
import fr.upmc.components.ComponentI;
import fr.upmc.components.ports.AbstractInboundPort;

/**
 * @author Antoine Lavaire, Sabri Labassi, Thibaut Fleury, Ryme Fantazi
 */
public	class	CapteurCoeursControleurAbonnementInboundPort
extends			AbstractInboundPort
implements 		CapteurCoeursControleurAbonnementI
{
	private static final long serialVersionUID = 1L;


	public	CapteurCoeursControleurAbonnementInboundPort
	(
		String			p_uri,
		ComponentI	 	p_owner
	) throws	Exception
	{
		super(p_uri, CapteurCoeursControleurAbonnementI.class, p_owner);
		
		assert this.uri != null;
	}


	@Override
	public	void	abonner
	(
		String	p_uriCallback
	) throws	Exception
	{
		if (owner instanceof CapteurCoeurs) {
			((CapteurCoeurs)this.owner).abonner(p_uriCallback);
		}
		else if (owner instanceof MachinePhysique) {
			((MachinePhysique)this.owner).abonner(p_uriCallback);
		}
	}
}
